import { useEffect } from "react";
const View = () => {
  // 钩子函数
  useEffect(() => {
    const images = document.getElementsByTagName("img");
    lazyLoad(images);
  });

  const imgList = [
    "./src/assets/1.webp",
    "./src/assets/2.webp",
    "./src/assets/3.webp",
    "./src/assets/4.png",
    "https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg",
    "https://fuss10.elemecdn.com/a/3f/3302e58f9a181d2509f3dc0fa68b0jpeg.jpeg",
    "https://fuss10.elemecdn.com/1/34/19aa98b1fcb2781c4fba33d850549jpeg.jpeg",
    "https://fuss10.elemecdn.com/0/6f/e35ff375812e6b0020b6b4e8f9583jpeg.jpeg",
    "https://fuss10.elemecdn.com/9/bb/e27858e973f5d7d3904835f46abbdjpeg.jpeg",
    "https://fuss10.elemecdn.com/d/e6/c4d93a3805b3ce3f323f7974e6f78jpeg.jpeg",
    "https://fuss10.elemecdn.com/3/28/bbf893f792f03a54408b3b7a7ebf0jpeg.jpeg",
    "https://fuss10.elemecdn.com/2/11/6535bcfb26e4c79b48ddde44f4b6fjpeg.jpeg",
  ];

  const lazyLoad = (images) => {
    const cb = (entries) => {
      console.log(entries);
      entries.forEach((item) => {
        // 如果在屏幕内
        if (item.isIntersecting) {
          // 拿到target
          const image = item.target;
          // 获取绑定的自定义属性data-src
          const dataSrc = image.getAttribute("data-src");
          // 将data-src绑定到src
          image.setAttribute("src", dataSrc);
        }
      });
    };
    const observer = new IntersectionObserver(cb);
    console.log(observer.observe);
    // 遍历dom节点
    [...images].forEach((item) => {
      console.log(item);
      // 观察每张图片
      observer.observe(item);
    });
  };
  return (
    <>
      <div>
        {imgList.map((item) => {
          return <img src="./src/assets/4.png" data-src={item} key={item} />;
        })}
      </div>
    </>
  );
};

export default View;
